package com.task.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.task.common.entity.sys.Permission;
import java.util.List;
import java.util.Set;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Huzz
 * @since 2021-10-11
 */
public interface IPermissionService extends IService<Permission> {
    /**
     * 获取当前登录用户的角色对应的权限
     * @param roleIds
     * @return
     */
    List<Permission> getLoginUserPermissionByRoleId(Set<Integer> roleIds);

    /**
     * 根据请求路径查询对应的所有权限
     * @param requestUrl
     * @return
     */
    List<Permission> selectListByPath(String requestUrl);

    /**
     * 添加权限
     * @param toEntityStatic
     * @return
     */
    boolean addPermission(Permission toEntityStatic);

    /**
     * 权限列表
     * @param pageNum
     * @param pageSie
     * @param model
     * @return
     */
    Page<Permission> findPermissionList(Integer pageNum, Integer pageSie, Permission model);

    /**
     * 权限分配
     * @param permissionId
     * @param roleId
     * @return
     */
    boolean permissionDistribute(Integer permissionId, Integer roleId);
}
